import request from '@/utils/request'

// 获取设备模板下拉列表
export function getDeviceTemplateList() {
  return request({
    url: '/iot/web/lotDevlceTemplate/deviceTemplateList',
    method: 'get'
  })
}

// 获取设备类型下拉列表
export function getDeviceTypeList() {
  return request({
    url: '/iot/web/lotDevlceTemplate/deviceTypeList',
    method: 'get'
  })
}

// 查询IoT模板列表
export function getIotDeviceTemplateList(params) {
  return request({
    url: '/iot/web/iot_template/list',
    method: 'get',
    params
  })
}

// 获取设备元数据
export function getDeviceMetaData(templateId) {
  return request({
    url: '/iot/web/lotDevlceTemplate/deviceMetaData',
    method: 'get',
    params: { templateId }
  })
}

// 获取服务能力信息
export function getServiceInfo(deviceId) {
  return request({
    url: '/iot/web/lotDevlceTemplate/serviceInfo',
    method: 'get',
    params: { deviceId }
  })
}

// 导入IoT设备模板数据
export function importIotDeviceTemplate(data) {
  return request({
    url: '/iot/web/lotDevlceTemplate/importData',
    method: 'post',
    data,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

// 下载IoT设备模板
export function downloadTemplate() {
  return request({
    url: '/iot/web/lotDevlceTemplate/importTemplate',
    method: 'post',
    responseType: 'blob'
  })
}

// 导出IoT设备模板列表
export function exportIotDeviceTemplate(params) {
  return request({
    url: '/iot/web/lotDevlceTemplate/export',
    method: 'post',
    params,
    responseType: 'blob'
  })
}

// 获取IoT设备模板详细信息
export function getIotDeviceTemplateDetail(devlceTemplateId) {
  return request({
    url: `/iot/web/iot_template/${devlceTemplateId}`,
    method: 'get'
  })
}

// 新增IoT设备模板
export function addIotDeviceTemplate(data) {
  return request({
    url: '/iot/web/iot_template',
    method: 'post',
    data
  })
}

// 修改IoT设备模板
export function updateIotDeviceTemplate(data) {
  return request({
    url: '/iot/web/iot_template',
    method: 'put',
    data
  })
}

// 删除IoT设备模板
export function deleteIotDeviceTemplate(devlceTemplateIds) {
  return request({
    url: `/iot/web/lotDevlceTemplate/${devlceTemplateIds}`,
    method: 'delete'
  })
}